package cn.wolfcode.trip.base.service;

import cn.wolfcode.trip.base.domain.Travel;
import cn.wolfcode.trip.base.domain.TravelContent;
import cn.wolfcode.trip.base.query.QueryObject;
import cn.wolfcode.trip.base.query.TravelQueryObject;
import com.github.pagehelper.PageInfo;

import java.util.List;
import java.util.Map;

public interface ITravelService {


    PageInfo selectTravelById(QueryObject qo);

    void save(Travel t);

    PageInfo selectTravels(TravelQueryObject qo);

    void updateStateById(Travel t);

    TravelContent selectTravelContentById(Long id);

    Travel selectOne(Long id);

    void update(Travel travel);

    PageInfo query(TravelQueryObject qo);

    PageInfo selectTravelAndUserByAuthorId(TravelQueryObject qo);

    List<Travel> selectTravelsByStrategyId(Long strategyId);

    void updateViewCount(Long travelId);

    Integer selectTravelCount(Long authorId);

    List<Map<String,Object>> selectTravelByKeyword(String keyword);
}
